/**
 *@file
 * File contenente le funzioni per l'implementazione e la stampa del menu di gioco
 */


#include <allegro5/allegro.h>
#include <allegro5/allegro_image.h>
#include <iostream>
#include <fstream>
#include <allegro5/allegro_ttf.h>
#include <allegro5/allegro_font.h>
#include <allegro5/allegro_acodec.h>
#include <allegro5/allegro_native_dialog.h>

using namespace std;

#include "struttura_dati.h"
#include "sn_main.h"
#include "menu.h"

void disegna_menu(testo t_sel[], const int num_opzioni){
	al_draw_scaled_bitmap(logo,0,0,600,600,0,150,300,300,1); /*img, px e py di partenza,dim_originali, pos_dest_x e y, dim_finali, flag*/ 
		for(int i=0;i<num_opzioni;i++)
			al_draw_text(t_sel[i].carattere,al_map_rgb(255,127,50),t_sel[i].px,t_sel[i].py,ALLEGRO_ALIGN_CENTRE,t_sel[i].text);
}



void cambia_selezione(ALLEGRO_EVENT &ev,testo t_sel[], const int num_opzioni, scelta &scelta_s){

	int i;

	switch(ev.keyboard.keycode) {
            case ALLEGRO_KEY_UP:
			  
               for(i=0;i<num_opzioni;i++)
					if(t_sel[i].carattere==ysel){
						t_sel[i].carattere=nsel;
						break;}
			   if(i==0)
					t_sel[num_opzioni-1].carattere=ysel;
			   else
					t_sel[i-1].carattere=ysel;
			   
			   break;	
					
			
 
            case ALLEGRO_KEY_DOWN:
				            
				for(i=0;i<num_opzioni;i++)
					if(t_sel[i].carattere==ysel){
						t_sel[i].carattere=nsel;						
						break;}
			   if(i==num_opzioni-1)
			    	t_sel[0].carattere=ysel;
			   else
					t_sel[i+1].carattere=ysel;
			   break;
							            
			case ALLEGRO_KEY_SPACE:			
			case ALLEGRO_KEY_ENTER:
				
				for(i=0;i<num_opzioni;i++)
					if(t_sel[i].carattere==ysel)
					break;
				if(i==0)
					scelta_s=gioco;
				else if (i==1)
					scelta_s=record;
				else
					scelta_s=uscita;
			al_play_sample(selezione, 1.2, 0.0,1.0,ALLEGRO_PLAYMODE_ONCE,NULL);
			default:
				return;
	
	}

}

